在远古时代,人类和万物共存,包括妖界。可是人类想独占这大好河山,于是将妖们赶入深山老林,从此人妖势不两立。一天,一对伪装成人形的妖怪情侣竹高(曾志伟饰)和胖莹(吴君如饰)为了保护怀孕的妖后逃避血妖的追杀,误打误撞中来到永宁村,他们在这里遇到了善良的人类宋天荫和只有三脚猫功夫的捉妖天师小岚。宋天荫以前从来不相信有妖的存在,可是这一次他不但亲眼目睹了人妖大战,还意外吞下妖后肚里的蛋。小岚为了得到葛千户(钟汉良饰)的赏金,拉着从没有离开过永宁村的天荫来到外面的世界,开始了一段冒险的奇幻之旅。途中他们遇到了大押店的老板娘(汤唯饰),还有捉妖厨神(姚晨饰)。后来怀上妖胎的天荫生下小妖胡巴,两人为了保护胡巴,一起对抗妖界。